
requirejs(['jquery', 'Util', 'bootstrap', 'metisMenu', 'slimScroll', 'inspinia', 'uploadify'], function ($, Util) {

    // 上传控件初始化
    $("#file_upload").uploadify({
        //开启调试  
        'debug': false,
        //是否自动上传  
        'auto': true,
        //浏览按钮的宽度 
        'width': 100,
        //浏览按钮的高度  
        'height': 100,
        //按钮样式
        'buttonClass': 'uploadify-btn',
        //按钮中文
        'buttonText': '上传图片',
        //超时时间  
        'successTimeout': 99999,
        //flash  
        'swf': "/static/js/plugins/uploadify/uploadify.swf",
        //服务器端脚本使用的文件对象的名称 $_FILES个['uploadFile']  
        'fileObjName': 'uploadFile',
        //上传处理程序  
        'uploader': '/console/upload/',
        //在浏览窗口底部的文件类型下拉菜单中显示的文本  
        'fileTypeDesc': '支持的格式：*.jpg;*.jpge;*.gif;*.png',
        //允许上传的文件后缀  
        'fileTypeExts': '*.jpg;*.jpge;*.gif;*.png',
        //上传文件的大小限制  
        'fileSizeLimit': '3MB',
        //上传数量  
        'queueSizeLimit': 25,
        //每次更新上载的文件的进展  
        'onUploadProgress': function (file, bytesUploaded, bytesTotal, totalBytesUploaded, totalBytesTotal) {
            //有时候上传进度什么想自己个性化控制，可以利用这个方法  
            //使用方法见官方说明  
        },
        //选择上传文件后调用  
        'onSelect': function (file) {

        },
        //返回一个错误，选择文件的时候触发  
        'onSelectError': function (file, errorCode, errorMsg) {
            switch (errorCode) {
                case -100:
                    Util.Alert("上传的文件数量已经超出系统限制的" + $('#file_upload').uploadify('settings', 'queueSizeLimit') + "个文件！", true);
                    break;
                case -110:
                    Util.Alert("文件 [" + file.name + "] 大小超出系统限制的" + $('#file_upload').uploadify('settings', 'fileSizeLimit') + "大小！", true);
                    break;
                case -120:
                    Util.Alert("文件 [" + file.name + "] 大小异常！", true);
                    break;
                case -130:
                    Util.Alert("文件 [" + file.name + "] 类型不正确！", true);
                    break;
            }
        },
        //检测FLASH失败调用  
        'onFallback': function () {
            alert("您未安装FLASH控件，无法上传图片！请安装FLASH控件后再试。");
        },
        //上传到服务器，服务器返回相应信息到data里  
        'onUploadSuccess': function (file, data, response) {
            var ret = $.parseJSON(data);
            if (ret.ret_msg === 'failed') {
                Util.Alert('上传头像失败!', true);
            } else {
                var src = '/uploads/profile/' + ret.ret_msg;
                var imgNode = '<img style="width: 100px;height:100px;" src="' + src + '"/>';
                $('#admin-profile-cover').empty();
                $('#admin-profile-cover').html(imgNode);
                $('#side-menu img').attr('src', src);
                Util.Alert('上传头像成功!');
            }
        }
    });

    // 保存按钮点击
    $('#save-btn').on('click', function () {
        var name = $('#admin-name').val();
        if (name == '') {
            $('#admin-name').parent('div.form-group').addClass('has-error');
        } else {
            $.post('/console/updateWebsite', {
                name: name
            }, function (ret) {
                ret.ret_code == 0 ? Util.Alert('修改成功!') : Util.Alert('修改失败!', true);
                window.location.reload();
            });
        }
    });

});

